浙大C语言Week3 and Week4 and Week5
week3
这一周主要讲了分支,还是比较基础的内容,来看两点。
- switch
switch适合多分支的情形,但是注意switch后的参数必须为整数以及只有碰到break才会跳出switch。
#include <stdio.h>
int main()
{
printf("请输入月份:");
int month;
scanf("%d", &month);
switch ( month )
{
case 1: printf("January\n"); break;
case 2: printf("February\n"); break;
case 3: printf("March\n"); break;
case 4: printf("April\n"); break;
case 5: printf("May\n"); break;
case 6: printf("June\n"); break;
case 7: printf("July\n"); break;
case 8: printf("August\n"); break;
case 9: printf("September\n"); break;
case 10:printf("October\n"); break;
case 11:printf("November\n"); break;
case 12:printf("December\n"); break;
}
return 0;
}
- ?表达式
(表达式) ? x : y ;
首先计算表达式的值,若为ture,则返回x;否则返回y.
week4&week5
这两周的课程都是讲循环,有for循环,while循环,do_while循环,其中for(;条件;)等价于while(条件)。
三中循环使用情形如下:
- 如果有固定次数,用for
- 如果必须执行一次,用do_while
- 其他情况用while
还有一个比较重要的点就是goto语句,因为break只能跳出一层循环,如果要跳出多层循环,则使用goto语句,用法如下所示。但是一般不建议使用goto,因为这样会破坏程序的结构性。
#include <stdio.h>
int main()
{
int x;
int one,two,five;
scanf("%d",&x);
for(one=1;one<x*10;one++){
for(two=1;two<x*10/2;two++){
for(five=1;five<x*10/5;five++){
if(one+two*2+five*5==x*10){
printf("可以用%d个1角加%d个2角加%d个5角得到%d元\n",
one, two, five, x);
//break;
goto out;
}
}
}
}
out:
return 0;
}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Doraemonzzz!
评论
ValineLivere